package org.rainbowinverted.charging.device.connect.ykc.server.message.in;

import lombok.Builder;
import lombok.Data;

import java.io.Serializable;

/**
 * 枪状态dto
 *
 * @author huaiping
 */
@Data
@Builder
public class YkcDeviceGunStatusIn implements Serializable {
    /**
     * 过载
     */
    private Boolean overload;
    /**
     * 过流
     */
    private Boolean overCurrent;
    /**
     * 过温
     */
    private Boolean overTemp;
    /**
     * 闲置
     */
    private Boolean idling;
    /**
     * 仪表故障
     */
    private Boolean meterFault;
    /**
     * 在线
     */
    private Boolean online;
    /**
     * 泄漏电流
     */
    private Boolean leakCurrent;
    /**
     * cp
     */
    private Boolean cp;
    /**
     * 插入
     */
    private Boolean inserted;
    /**
     * 充电
     */
    private Boolean charge;

    public static YkcDeviceGunStatusIn buildDefault() {
        return new YkcDeviceGunStatusIn(Boolean.FALSE, Boolean.FALSE,
                Boolean.FALSE, Boolean.FALSE,
                Boolean.FALSE, Boolean.FALSE,
                Boolean.FALSE, Boolean.FALSE,
                Boolean.FALSE, Boolean.FALSE);
    }

    private YkcDeviceGunStatusIn(Boolean overload, Boolean overCurrent,
                            Boolean overTemp, Boolean idling,
                            Boolean meterFault, Boolean online,
                            Boolean leakCurrent, Boolean cp,
                            Boolean inserted, Boolean charge) {
        this.overload = overload;
        this.overCurrent = overCurrent;
        this.overTemp = overTemp;
        this.idling = idling;
        this.meterFault = meterFault;
        this.online = online;
        this.leakCurrent = leakCurrent;
        this.cp = cp;
        this.inserted = inserted;
        this.charge = charge;
    }
}
